/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.notaria.guerrasalas.bc;

import com.notaria.guerrasalas.be.BoletaVenta;
import gob.satt.comun.jpa.Command;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
import oracle.toplink.essentials.config.HintValues;
import oracle.toplink.essentials.config.TopLinkQueryHints;

/**
 *
 * @author Administrador
 */
public class ListarBoletasEntreFechasCommand implements Command<List<BoletaVenta>>{

    private Date fechaInicio;
    private Date fechaFin;

    public ListarBoletasEntreFechasCommand(Date fechaInicio, Date fechaFin) {
        this.fechaInicio = fechaInicio;
        Calendar c = Calendar.getInstance();
        c.setTime(fechaFin);
        c.add(Calendar.DAY_OF_MONTH, 1);
        this.fechaFin = c.getTime();
    }

    @Override
    public List<BoletaVenta> execute(EntityManager em) throws Exception {
        List<BoletaVenta> lista = null;
        lista = (List<BoletaVenta>) em.createNamedQuery("BoletaVenta.findBetweenDates")
                .setParameter("fechaInicio", fechaInicio)
                .setParameter("fechaFin", fechaFin)
                .setHint(TopLinkQueryHints.REFRESH, HintValues.TRUE).getResultList();
        return lista;
    }

}
